A ROM (read only memory) is generally classified by a synchronous type and an asynchronous type, among which the synchronous type is widely used because of the convenience without the necessity of a synchronous signal.
A conventional semiconductor memory apparatus of an asynchronous type includes an address buffer for supplying an address signal composed of X and Y coordinate addresses, an X-decoder for decoding the X coordinate address to designate an X line address of a matrix memory for storing predetermined data, a Y-selector for selecting data on the X line in accordance with the Y coordinate address supplied from the address buffer, a sense amplifier for amplifying the selected data to generate logical data, and an output buffer for holding and supplying the logical output data.
In operation, when an address signal is supplied to the address buffer, X and Y coordinate addresses are supplied to the X-decoder and the Y-selector, respectively. An X line of the memory corresponding to the X coordinate address is designated to supply data to the Y-selector, in which data are selected by the Y coordinate address, and from which the selected data are supplied to the sense amplifier. The data are amplified in the sense amplifier to be supplied to the output buffer, in which the read data are held to be supplied to an output stage.
However, the conventional semiconductor memory apparatus has a disadvantage in that data of a wrong address tends to be read from the memory, because the wrong address is to be generated in accordance with the influence of the momentary change of power supply and ground level to the address buffer. In more detail, when an address signal is changed, digit lines are precharged. In this occasion, there is a possibility that a false malfunction occurs in the sense amplifier. That is, the sense amplifier supplies data of a wrong address to the output buffer due to the precharge of the digit lines.